﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.ApplicationBlocks.Data;
using System.Data;
using Entities;
using Microsoft.ApplicationBlocks.Data;

namespace DAL
{
    public class LocalidadDAL
    {
        public static string strConexion = System.Configuration.ConfigurationManager.ConnectionStrings["ConexionBaseDesarrollo"].ConnectionString;

        public static long Nuevo(Localidad parLocalidad)
        {
            long intRetorno = 0;
            //(strConexion,"spLocalidadNuevo", parLocalidad.NombreLocalidad)
            return intRetorno;
        }

        public static void Modificar(Localidad parLocalidad)
        {
            //(strConexion,"spLocalidadModificar",parLocalidad.IDLocalidad,parLocalidad.NombreLocalidad)
        }

        public static void Eliminar(long parIDLocalidad)
        {
            //(strConexion,"SPLocalidadEliminar",parIDLocalidad)
        }

        public static Localidad BuscarUno(long parIDLocalidad)
        {
            try
            {
                DataTable dt = new DataTable();
                //Busca el objeto por el ID, si lo encuentra lo devuelve
                dt = SqlHelper.ExecuteDataset(strConexion, "spLocalidadBuscarUno", parIDLocalidad).Tables[0];
                if (dt.Rows.Count > 0)
                {
                    Localidad oLocalidad = new Localidad();
                    DataRow dr = dt.Rows[0];
                    oLocalidad.IDLocalidad = long.Parse(dr["IDLocalidad"].ToString());
                    oLocalidad.NombreLocalidad = dr["NombreLocalidad"].ToString();
                    return oLocalidad;
                }
                //sino retorna Null
                else
                {
                    return null;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public static List<Localidad> BuscarVarios(string parNombreLocalidad)
        {
            try
            {
                List<Localidad> ListaLocalidad = new List<Localidad>();
                DataTable dt = new DataTable();
                //Busco el objeto por sus propiedades, si encontro, retorna el objeto Negocio
                //(strConexion,"spLocalidadBuscarVarios",parNombreLocalidad)
                if (dt.Rows.Count > 0)
                {
                    //Va cargando los cargos uno a uno.
                    foreach (DataRow dr in dt.Rows)
                    {
                        Localidad oLocalidad = new Localidad();
                        oLocalidad.IDLocalidad = long.Parse(dr["IDLocalidad"].ToString());
                        oLocalidad.NombreLocalidad = dr["NombreLocalidad"].ToString();
                        ListaLocalidad.Add(oLocalidad);
                    }
                    return ListaLocalidad;
                }
                //sino retorna Null
                else
                {
                    return null;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }

        public static List<Localidad> BuscarPorProvincia(long longIDProvincia)
        {
            try
            {
                List<Localidad> ListaLocalidad = new List<Localidad>();
                DataTable dt = new DataTable();
                dt = SqlHelper.ExecuteDataset(strConexion, "spLocalidadBuscarPorProvincia", longIDProvincia).Tables[0];
                if (dt.Rows.Count > 0)
                {
                    //Va cargando los cargos uno a uno.
                    foreach (DataRow dr in dt.Rows)
                    {
                        Localidad oLocalidad = new Localidad();
                        oLocalidad.IDLocalidad = long.Parse(dr["IDLocalidad"].ToString());
                        oLocalidad.NombreLocalidad = dr["NombreLocalidad"].ToString();
                        ListaLocalidad.Add(oLocalidad);
                    }
                    return ListaLocalidad;
                }
                //sino retorna Null
                else
                {
                    return null;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }
}
